//                 ,  , 
//                / \/ \,'| _ 
//               ,'    '  ,' |,| 
//              ,'           ' |,'|
//             ,'                 ;'| _ 
//            ,'                    '' | 
//           ,'                        ;-, 
//          (___                        / 
//        ,'    `.  ___               ,' 
//       :       ,`'   `-.           / 
//       |-._ o /         \         / 
//      (    `-(           )       / 				To compile the files type in the terminal:
//     ,'`.     \      o  /      ,' 				g++ file_name.C -o executable_name
//    /    `     `.     ,'      / 
//   (             `"""'       / 
//    `._                     / 
//       `--.______        '"`. 
//          \__,__,`---._   '`; 
//               ))`-^--')`,-' 
//             ,',_____,'  | 
//             \_          `). 
//               `.      _,'  ` 
//               /`-._,-'      \ 
//
//
//*********************************************************************************************************************************



#include <iostream> 
using namespace std;

template <class T>			//class template declaration with identifier T
class twovals 
{ 
		T a, b;				//class template member variables
		
	public:
		twovals (T first, T second)		//class template member inline function
		{
			a = first; 
			b = second;
		}
		
		T getmax ();		//class template member prototype function
};

template <class T>			//class template prototype function definition
T twovals <T>::getmax ()	//prototype function definition notice scope operator
{
	T retval;
	retval = a>b ? a : b;
	return retval;
}

int main ( )
{
	twovals <int> myobject (100,75);	//object creation and call to template class
	cout << "Maximum value is: " << myobject.getmax ( ) << endl;
	
	return 0;
}